/*
 * Colas.h
 *
 *  Created on: 28/09/2011
 *      Author: utn_so
 */

#include "../../headers/GlobalHeader.h"

#ifndef COLAS_H_
#define COLAS_H_

t_nodoCola **buscar_cola_planificador(t_nodoColaGrande,char[25]);
t_nodoCola *nuevo_nodo();
t_nodoCola *agregar_pedido_a_cola(t_nodoColaGrande *,t_pedido);
t_nodoCola *agregar_pedido_a_frente_de_cola(t_nodoColaGrande ,t_pedido pedido );
t_nodoCola *agregar_pedido_a_cola_pedidos_en_proceso(t_nodoCola**, t_nodoCola**, t_pedido pedido);
bool eliminar_pedido_de_cola_pedidos_en_proceso(t_nodoCola**,t_nodoCola**,t_pedido);
bool suprimir_pedido_especifico_de_cola(t_nodoCola *, t_nodoCola *, t_pedido);
void crear_cola_pedidos(t_nodoCola *, t_nodoCola *);
void mostrar_cola(t_nodoCola *);
void insertarEnArray(int32_t [CANT_CLIENTES_PPD_MAX],int32_t);
void inicializoArray(int32_t [CANT_CLIENTES_PPD_MAX]);
void eliminoDeArray(int32_t array[CANT_CLIENTES_PPD_MAX],int32_t socket_id);

void insertarEnListaClientes(int32_t cliente_pfs);
void borrarDeListaClientes(int32_t cliente_pfs);
void crear_cola_colas(t_nodoColaGrande *,t_nodoColaGrande *);
void mostrar_cola_de_colas(t_nodoColaGrande);
t_nodoColaGrande *suprimir_pedido_especifico_de_cola_grande(t_nodoColaGrande **,t_nodoColaGrande **, char[25]);
t_nodoColaGrande *agregar_cola_a_cola(t_nodoColaGrande *,t_nodoColaGrande *,char[25],int32_t);
char *algoritmoDistribucion(t_nodoColaGrande, int32_t,int32_t);
void pedido_escritura(t_pedido pedido, t_nodoColaGrande **frente_colaGrande);

char* get_time_string(int mode24);
void crearLog();
void cargaConfiguracionInicial();

#endif /* COLAS_H_ */
